home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Developer CD v2.1
/
Amiga Developer CD v2.1.iso
/
DevInfo
/
Intuition
/
ObtainGIRPort
< prev
next >
Wrap
Text File
|
1996-07-13
|
2KB
|
50 lines
$Id: ObtainGIRPort 1.2 1996/07/13 21:04:28 heinz Exp $
For those of you who think they have to use something like
the NewObtainGIRPort hack or any equivalent OS patch which can be
subsumed under the familiar name of NewObtainGIRPort, a few
explanations:
NewObtainGIRPort is
a) useless, because it is not really fixing things.
At least the 1.1 code is buggy.
b) the wrong approach, because the application having the
problem should be fixed. The OS is ok.
You are asking why I am saying that? Let me explain.
ObtainGIRPort() will also do a layer lock. This is unfortunately
not mentioned in the autodocs. But it is described that you may not
cache that RastPort:
This function must be called EACH time a hook routine needing
to perform gadget rendering is called, and must be accompanied
by a corresponding call to ReleaseGIRPort().
This is obviously a strong indicator that you
a) may only use simple rendering calls (That's what the
function is for: rendering)
b) may not give control back to Intuition either by leaving the
context or by calling Intuition functions before you called
ReleaseGIRPort().
Once you know that ObtainGIRPort() does a layer lock, you can look
up the LockLayer() autodoc, too:
Further Note: while you hold the lock on a layer, Intuition will block
on operations such as windowsizing, dragging, menus, and depth
arranging windows in this layer's screen. It is recommended that
YOU do not make Intuition function calls while the layer is locked.
So everyone who is currently using a hack like NewObtainGIRPort
should better complain to the authors of the application that
causes the problems in the first place.
Heinz Wrobel
<heinz@amiga.de>